package com.javastudy.jdkfeature.jdk5.generics;

import java.util.ArrayList;
import java.util.Collection;

/**
 在非泛型类里面，可以单独的定义泛型方法
 在泛型类里，泛型方法也可以使用类声明之外的泛型
 */
public class GenericMethod {
    /**
     * 泛型方法: 在方法声明时, 同时声明泛型. 在方法的返回值, 参数列表以及方法体中都可以使用泛型类型.
     * 首先，泛型的声明，必须在方法的修饰符（public,static,final,abstract等）之后，返回值声明之前。
     * public static <T> T get(Integer id){
     *      T result = null;
     *      return result;
     * }
     * 把指定类型的数组中的元素放入到指定类型的集合中
     */
    public static <T> void fromArrayToCollection(T [] objs, Collection<T> coll){

    }

    public static void main(String[] args) {

        String[] objs2 = new String[]{"AA", "BB", "CC"};
        Collection<String> coll2 = new ArrayList<>();
        fromArrayToCollection(objs2, coll2);

        Person[] objs3 = new Person[]{new Person("AA", 12)};
        Collection<Person> coll3 = new ArrayList<>();
        fromArrayToCollection(objs3, coll3);
    }
}
